#include<bits/stdc++.h>
using namespace std;
long long n;
int day[13]={0,31,30,31,30,31,30,31,31,30,31,30,31};

int isleap(int y)
{
	return (y%4==0 && y%100!=0 )|| y%400==0;
}


int dayofmonth(int y,int m)
{
    if(m==2)
        return isleap(y)+28;
    return day[m];
}

bool check(int x)
{
	int y=x/10000,m=x/100%100,d=x%100;
	if(d<1 || d>dayofmonth(y,m) ) return false;
	if(m<1 || m>12 )              return false;
	return true;
}

bool ispail(int x)  
{
    string str=to_string(x);
    string s=str;
    reverse(s.begin(),s.end());
    return s==str;
}

int isAB(int x)
{
	string m=to_string(x);
    return m[0]==m[2] && m[1]==m[3];
}
int main()
{

    cin>>n;
	  n++;
    bool flag=false;
    while(1)
    {    
        if(check(n++))
        {
            if(!flag && ispail(n))
            {
                cout<<n<<endl;
                flag=true;
            }
            if(flag && ispail(n) && isAB(n))
            {
                cout<<n<<endl;
                return 0;
            }
        }
    }   
    return 0;
}
